<?php


class Editar_viagem extends MY_Controller {

   public function index()
  {
    $data['title'] = "SisCaD-TP - Editar Viagem";
    $data['pagina'] = "editar_viagem";
    $this->load->model('funcionario_model');
    $data['funcionario'] = $this->funcionario_model->montaSelect();
    $data['menu'] = $this->montaMenu();
    $this->load->view('templates/header',$data);
    $this->load->view('pages/pesquisaViagem',$data);
    $this->load->view('templates/footer');

  }
  public function buscar()
  {
    $this->load->library('datafuncoes');
    $this->load->model('funcionario_model');
    $date = $this->datafuncoes->formatDataIng($_POST['data']);
    $this->db->select('*');
    $this->db->from('viagem');
    $this->db->where("funcionario = {$_POST['funcionario']} and ultima_alteracao like '{$date}%'");
    $q = $this->db->get();
    if ($q->num_rows() == 1){
      foreach ($q->result() as $item){
	 buscarDados($item->id);
      }
    }
    else if ($q->num_rows() > 1){
      $i = 0;
      foreach ($q->result() as $item){
	$data['item'][$i]['id'] = $item->id;
	$data['item'][$i]['motivo'] = $item->motivo;
	$data['item'][$i]['funcionario_id'] = $item->funcionario;
	$data['item'][$i]['valor'] = $item->valor_total_viagem;
	$data['item'][$i]['funcionario'] = $this->funcionario_model->buscaPorId($item->funcionario);
	$i++;
      }
      $this->load->view('pages/selecionarViagem',$data);
    }
    else{
      echo "erro|<br>Nao ha viagem cadastrada para estes dados informados!<br>";
    }
  }
  
  public function buscarDados($id = null)
  { 
    $this->load->library('datafuncoes');
    $this->load->model('pais_model');
    $this->load->model('estado_model');
    $this->load->model('municipio_model');
    $this->load->model('meio_transporte_model');
    $this->load->model('classe_passagem_model');
    $this->load->model('funcionario_model');
    if (is_null($id))
      $id = $_POST['id'];
    $this->db->select('*');
    $this->db->from('viagem');
    $this->db->where("id = {$id}");
    $q = $this->db->get();
    if($q->num_rows() > 0){
      $b = $q->result_array();
      foreach ($b as $c)
      foreach ($c as $k=>$v)
	$data[$k] = $v;
      $data['funcionario'] = $this->funcionario_model->montaSelect($data['funcionario']);
      $this->load->view('pages/dadosViagem2',$data);

      $this->db->select('*');
      $this->db->from('trecho');
      $this->db->where("viagem = {$id}");
      $q = $this->db->get();
      unset($data);
      $i = 1;
      foreach ($q->result_array() as $b){
	  foreach ($b as $k=>$v)
	    $data[$k] = $v;
	$data['cont'] = $i;
	$ufo = $data['uf_origem'];
	$ufd = $data['uf_destino'];

      $data['data_partida'] = $this->datafuncoes->formatDataIng($data['data_partida']);
      $data['data_chegada'] = $this->datafuncoes->formatDataIng($data['data_chegada']);
      $data['pais_origem'] = str_replace("id = 'pais'","id='pais_origem_{$i}'" , $this->pais_model->montaSelect(1,'disabled'));
      $data['uf_origem'] =  str_replace("id = 'estado'","id='uf_origem_{$i}'" , $this->estado_model->montaSelect($data['uf_origem']));
      $data['municipio_origem'] =str_replace("id = 'municipio'","id='municipio_origem_{$i}'" ,  $this->municipio_model->montaSelect($ufo,$data['municipio_origem']));
      $data['pais_destino'] = str_replace("id = 'pais'","id='pais_destino_{$i}'" ,$this->pais_model->montaSelect(1,'disabled'));
      $data['uf_destino'] = str_replace("id = 'estado'","id='uf_destino_{$i}'" , $this->estado_model->montaSelect($data['uf_destino']));
      $data['municipio_destino'] = str_replace("id = 'municipio'","id='municipio_destino_{$i}'" , $this->municipio_model->montaSelect($ufd,$data['municipio_destino']));
      $data['meio_transporte'] = str_replace("id = 'meio_transporte'","id='meio_transporte_{$i}'" , $this->meio_transporte_model->montaSelect($data['meio_transporte']));
      $data['classe_passagem']= str_replace("id = 'classe_passagem'","id='classe_passagem_{$i}'" , $this->classe_passagem_model->montaSelect($data['categoria_passagem']));

	$this->load->view('pages/trecho2',$data);
	$i++;
	unset($data);
      }
      $this->load->view('pages/dadosViagem3');
    }
    else{
      echo "erro|Viagem n&atilde;o encontrada";
    }
    
    
  }
  
  
  public function salvar_trecho()
  {
    $data['cont'] = $_POST['num_trecho'];
    $data['data_partida'] = $_POST['data_origem'];
    $data['hora_partida'] = $_POST['hora_origem'];
    $data['data_chegada'] = $_POST['data_destino'];
    $data['hora_chegada'] = $_POST['hora_destino'];
    $data['valor_total_diarias'] = $_POST['valor_diarias'];
    $data['diarias'] = $_POST['num_diarias'];
    $data['valor_passagem_trecho'] = $_POST['valor_passagem'];
    $this->load->model('pais_model');
    $this->load->model('estado_model');
    $this->load->model('municipio_model');
    $data['pais_origem'] = str_replace("id = 'pais'","id='pais_origem_".$data['cont']."'" , $this->pais_model->montaSelect($_POST['pais_origem'],"disabled"));
    $data['uf_origem'] =  str_replace("id = 'estado'","id='uf_origem_".$data['cont']."'" , $this->estado_model->montaSelect($_POST['uf_origem'],"disabled"));
    $data['municipio_origem'] =str_replace("id = 'municipio'","id='municipio_origem_".$data['cont']."'" ,  $this->municipio_model->montaSelect($_POST['uf_origem'],$_POST['municipio_origem'],"disabled"));
    $data['pais_destino'] = str_replace("id = 'pais'","id='pais_destino_".$data['cont']."'" ,$this->pais_model->montaSelect($_POST['pais_destino'],"disabled"));
    $data['uf_destino'] = str_replace("id = 'estado'","id='uf_destino_".$data['cont']."'" , $this->estado_model->montaSelect($_POST['uf_destino'],"disabled"));
    $data['municipio_destino'] = str_replace("id = 'municipio'","id='municipio_destino_".$data['cont']."'" , $this->municipio_model->montaSelect($_POST['uf_destino'],$_POST['municipio_destino'],"disabled"));
    $transporte = explode('|', $_POST['meio_transporte']);
    $this->load->model('meio_transporte_model');
    $data['meio_transporte'] = str_replace("id = 'meio_transporte'","id='meio_transporte_".$data['cont']."'" ,  $this->meio_transporte_model->montaSelect($transporte[0],'disabled'));
    $this->load->model('classe_passagem_model');
    $data['classe_passagem']= str_replace("id = 'classe_passagem'","id='classe_passagem_".$data['cont']."'" ,  $this->classe_passagem_model->montaSelect($_POST['classe_passagem'],'disabled'));
    $data['id'] = 0;
    $this->load->view('pages/trecho2',$data);
  }

  
  public function salvar_viagem(){
    $this->db->trans_begin();
    $this->load->library('datafuncoes');
    $dataAlteracao = date("Y-m-d H:i:s");
    try
    {
      
      $data['funcionario']=$_POST['funcionario'];
      $data['motivo']=$_POST['motivo'];
      $data['valor_total_viagem']=$_POST['valor'];
      $data['ultima_alteracao']=$dataAlteracao;
      $data['usuario']=$this->session->userdata('user_id');
      $this->db->where("id = {$_POST['id']}");
      $a = $this->db->update('viagem', $data);
      //$this->licitacao_model->inserir($dados);
      if  (!$a)
      {
	throw new Exception("erro ao inserir viagem".mysql_error());
      }

      $trechos = substr($_POST['trechos'],0,-1);
      $trechos = explode('*',$trechos);
      $viagem = $_POST['id'];
      for ($j = 0; $j<count($trechos); $j++){
	$trecho = explode('|',$trechos[$j]);
	if ($trecho[15]!= 0){
	  $v['viagem'] = $viagem;
	  $v['data_partida'] = $this->datafuncoes->formatDataIng($trecho[0]);
	  $v['hora_partida'] = $trecho[1];
	  $v['pais_origem'] = $trecho[2];
	  $v['uf_origem'] = $trecho[3];
	  $v['municipio_origem'] = $trecho[4];
	  $v['data_chegada'] = $this->datafuncoes->formatDataIng($trecho[5]);
	  $v['hora_chegada'] = $trecho[6];
	  $v['pais_destino'] = $trecho[7];
	  $v['uf_destino'] = $trecho[8];
	  $v['municipio_destino'] = $trecho[9];
	  $v['meio_transporte'] = $trecho[10];
	  $v['categoria_passagem'] = $trecho[11];
	  $v['valor_passagem_trecho'] = $trecho[12];
	  $v['diarias'] = $trecho[13];
	  $v['valor_total_diarias'] = $trecho[14];
	  $v['ultima_alteracao'] = $dataAlteracao;
	  $v['usuario'] = $this->session->userdata('user_id');
	  $this->db->where("id = {$trecho[15]}");
	  $a = $this->db->update('trecho', $v);
	  if  (!$a)
	  {
	    throw new Exception("erro ao atualizar dados de trecho de viagem".mysql_error());
	  }
	}
	else{
	  $v['id'] = NULL;
	  $v['viagem'] = $viagem;
	  $v['data_partida'] = $this->datafuncoes->formatDataIng($trecho[0]);
	  $v['hora_partida'] = $trecho[1];
	  $v['pais_origem'] = $trecho[2];
	  $v['uf_origem'] = $trecho[3];
	  $v['municipio_origem'] = $trecho[4];
	  $v['data_chegada'] = $this->datafuncoes->formatDataIng($trecho[5]);
	  $v['hora_chegada'] = $trecho[6];
	  $v['pais_destino'] = $trecho[7];
	  $v['uf_destino'] = $trecho[8];
	  $v['municipio_destino'] = $trecho[9];
	  $v['meio_transporte'] = $trecho[10];
	  $v['categoria_passagem'] = $trecho[11];
	  $v['valor_passagem_trecho'] = $trecho[12];
	  $v['diarias'] = $trecho[13];
	  $v['valor_total_diarias'] = $trecho[14];
	  $v['ultima_alteracao'] = $dataAlteracao;
	  $v['usuario'] = $this->session->userdata('user_id');
	  $a = $this->db->insert('trecho', $v);
	  if  (!$a)
	  {
	    throw new Exception("erro ao atualizar dados de trecho de viagem".mysql_error());
	  }
	  
	}
      }
	    
    }
    catch (Exception $e){
       $this->db->trans_rollback();
       echo $e->getMessage();
    }

    $this->db->trans_commit();
    echo "sucesso|<br>Dados Gravados Com Sucesso<br>";
  }
  
  public function excluir_viagem(){
    $id = $_POST['id'];
	  $this->db->trans_begin();
    try{
       $consulta = "delete from trecho where viagem = {$id}";
       $query = $this->db->query($consulta);
       if (!$query){
         throw new Exception("Não foi possível excluir de trecho de viagem.".mysql_error());
       }
       $consulta = "delete from viagem where id = {$id}";
       $query = $this->db->query($consulta);
       if (!$query){
         throw new Exception("Não foi possível excluir viagem.".mysql_error());
       }

    }
    catch (Exception $e){
       $this->db->trans_rollback();
       echo $e->getMessage();
    }
    $this->db->trans_commit();
    echo "sucesso|<br>Dados Gravados Com Sucesso<br>";
  }
  
  public function excluir_trecho(){
    $id = $_POST['id'];
	  $this->db->trans_begin();
    try{
       $consulta = "delete from trecho where id = {$id}";
       $query = $this->db->query($consulta);
       if (!$query){
         throw new Exception("Não foi possível excluir trecho.".mysql_error());
       }

    }
    catch (Exception $e){
       $this->db->trans_rollback();
       echo $e->getMessage();
    }
    $this->db->trans_commit();
    echo "sucesso|<br>Dados Gravados Com Sucesso<br>";
  }
  
}
?>
